package top.zywork.strategy.order;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.api.R;
import top.zywork.dto.OrderPayDTO;
import top.zywork.dto.RefundOrderDTO;
import top.zywork.weixin.PayResult;
import top.zywork.weixin.RefundResult;

/**
 * 主要针对不同小服务统一下订单查询和订单状态修改
 * @author Animo
 * @Date 2020/10/21
 * @Blog http://www.ljyanimo.com
 */
public interface OrderService {

    /**
     * 通过订单号校验订单以及查询金额
     * @param orderId
     */
    OrderPayDTO orderValidation(String orderId);

    RefundOrderDTO refundValidation(String orderId);

    /**
     * 统一下单支付成功回调
     */
    void wxPaySuccessNotify(PayResult payResult);

    /**
     * 统一下单支付失败回调
     * @param payResult
     */
    void wxPayFailNotify(PayResult payResult);

    /**
     * 统一退款成功回调
     * @param refundResult
     */
    void wxRefundSuccessNotify(RefundResult refundResult);

    /**
     * 统一退款失败回调
     * @param refundResult
     */
    void wxRefundFailNotify(RefundResult refundResult);

}
